#ifndef __AFFAIR__
#define __AFFAIR__
#include <my_header.h>
#include <shadow.h>
#include "path_stack.h"

typedef enum {
    CMD_UNKNOWN, // 未知命令的默认值
    CMD_CD,     // 对应 "cd"
    CMD_LS,     // 对应 "ls"
    CMD_PWD,    // 对应 "pwd"
    CMD_PUTS,   // 避免与标准库冲突，改为 "puts_cmd"
    CMD_GETS,   // 避免与标准库冲突，改为 "gets_cmd"
    CMD_RM,
    CMD_MKDIR,
    CMD_RMDIR,
    CMD_SIGNIN,
    CMD_SIGNUP,
    CMD_EXIT
} CommandType;

typedef enum
{
    RESPON_NONE,
    RESPON_OK,
    RESPON_ERROR
} ResponType;

typedef struct UsrInfo_s{
    char usr_name[32];
    char current_path[1024];
    pathStack_t pathStack;
}UsrInfo_t;

typedef struct train_s{
    int type;
    int length;
    char value[1000];
}train_t;

int UsrInfoInit(UsrInfo_t *pUsrInfo,char *user_name);

#endif